package 黑马程序员.第一天;

import java.util.HashMap;
import java.util.Map;

/**
 * @Slogan: 哆啦A梦的口号你忘了么 ？
 * 生活百般滋味，人生需要笑对！！！
 */
public class 双列集合 {

   /*
   双列集合的特点：
   1；双列集合一次是存储一对数据，分别为键值对。
   2；键不能重复，值能重复。
   3；键和值一一对应关系
   4；键+值 被称为键值对，在Java中称为“Entry对象”
   */

    public static void main(String[] args) {

        /*
        *  V put(Key,value)     添加元素
        *  V remove(Object key) 移除元素
        *  Boolean containsKey(Object key) 判断集合是否包含指定键
        *  Boolean containsValue(Object value) 判断集合是否包含指定值
        *  Boolean isEmpty()    判断集合是否为空
        *  int size()           得到集合长度
        *
        * */


        // 1；创建Map集合对象
        Map<String,String> map = new HashMap<>();

        // 2.添加元素
        // put 方法细节：
        // 添加/覆盖
        // 在添加数据的时候，如果键不存在，那么直接把键值对对象添加到map集合中，方法返回null。
        // 在添加数据的时候，如果键存在的，那么会把原来的键值对对象覆盖，会把被覆盖的键值对对象进行返回。

        /*String value1 = map.put("黄蓉","小龙女");
        System.out.println(value1); // 幕间凭*/

        map.put("韦小宝","幕间凭");
        map.put("音质龙","小龙女");

       /* String value2 = map.put("韦小宝","哪吒");
        System.out.println(value2); // 幕间凭*/

       // 删除
        // map.remove("韦小宝");

        // 清除
        // map.clear();

        // 判断键是否包含
        Boolean value1 = map.containsKey("韦小宝1");
        System.out.println(value1);

        // 判断值是否包含
        Boolean value2 = map.containsValue("幕间凭");
        System.out.println(value2);

        // 判断集合是否为空
        Boolean result = map.isEmpty();
        System.out.println(result);

        // 得到集合的长度
        int longth = map.size();
        System.out.println(longth);

        // 3.打印集合
        System.out.println(map);
    }

}
